home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / cl-nd-cl.lha / clue / clio / ol-defs.lisp < prev    next >
Text File  |  1990-07-19  |  5KB  |  120 lines

  1. ;;; -*- Mode:Lisp; Package:CLIO-OPEN; Base:10; Lowercase:T; Syntax:Common-Lisp -*-
  2.  
  3.  
  4. ;;;----------------------------------------------------------------------------------+
  5. ;;;                                                                                  |
  6. ;;;                          TEXAS INSTRUMENTS INCORPORATED                          |
  7. ;;;                                  P.O. BOX 149149                                 |
  8. ;;;                             AUSTIN, TEXAS 78714-9149                             |
  9. ;;;                                                                                  |
  10. ;;;             Copyright (C) 1989, 1990 Texas Instruments Incorporated.             |
  11. ;;;                                                                                  |
  12. ;;; Permission is granted to any individual or institution to use, copy, modify, and |
  13. ;;; distribute this software, provided that  this complete copyright and  permission |
  14. ;;; notice is maintained, intact, in all copies and supporting documentation.        |
  15. ;;;                                                                                  |
  16. ;;; Texas Instruments Incorporated provides this software "as is" without express or |
  17. ;;; implied warranty.                                                                |
  18. ;;;                                                                                  |
  19. ;;;----------------------------------------------------------------------------------+
  20.  
  21. (in-package "CLIO-OPEN")
  22.  
  23.  
  24. (defstruct (scrollbar (:type vector))
  25.   "Scrollbar geometry descriptor."
  26.   anchor-height
  27.   anchor-width
  28.   arrow-height   
  29.   arrow-width
  30.   cable-margin
  31.   cable-width
  32.   margin)
  33.  
  34. (defstruct (text-caret (:type vector))
  35.   "Text-caret geometry descriptor." 
  36.   height
  37.   width
  38.   inactive-height                ; Non-nil if not same as height.
  39.   baseline-offset)
  40.  
  41.  
  42. ;; Add in 1 for a margin.
  43. (defconstant *slider-default-margin* 1
  44.   "The MINIMUM margin gap for all 4 sides of a SLIDER. See also SLIDER-MARGIN .")
  45.  
  46. (defstruct (slidebar (:type vector) (:conc-name :slidebar-))
  47.   "Slider geometry descriptor. Referenced to origin of top,left corner, 
  48. not including the label or typein field, of :horizontal slider."
  49.  
  50.   ;; Numbers in parentheses refer to dimensions tables in rel 1.0 OPEN LOOK spec
  51.  
  52.   drag-box-width       ;; (b) this is the BLT width for ANY orientation
  53.   gap            ;; (c),(n),(p) also 1/2 of tick-mark thickness
  54.   bar-thickness        ;; (f)
  55.   bar-drag-offset    ;; (i) distance between top of drag box and top of bar
  56.   tick-mark-length    ;; (a3) is also same as end-box-width
  57.   tick-mark-offset    ;; (d2) distance from bar-end to tick-mark centerline
  58.  
  59.   ;;  bar-text-offset : (x,y) First # is x-offset, second # is y-offset,
  60.   ;;  for :horizontal slider = (0,a3), for :vertical slider = (a5,a4)
  61.   ;;  (b5) is the same as GAP
  62.   bar-text-offset
  63.   )
  64.  
  65.  
  66. ;================================================================;
  67. ;           OPEN LOOK MENU & PUSHPIN SPECIFICATIONS       ;
  68. ;================================================================;
  69.  
  70. (DEFSTRUCT OL-menu-spec
  71.   scale
  72.   pushpin        ;Pushpin Specification for this scale
  73.   pushpin-dx     ;horizontal distance from border to left of image
  74.   pushpin-dy     ;vertical distance from border to pushpin baseline
  75.   title-bar-dx   ;horizontal distance from border to title bar (left & right)
  76.   title-bar-dy   ;vertical distance from title baseline to title bar
  77.   title-dx       ;horizontal (minimum) left & right title margins
  78.   title-dy       ;vertical distance from menu border to title baseline
  79.   drop-shadow-width
  80.   drop-shadow-offset)
  81.     
  82.   
  83. (defstruct pushpin-spec
  84.   scale
  85.   box-width              ;actual bitmap width
  86.   box-height             ;actual bitmap height
  87.   baseline               ;image baseline (relative image top)
  88.   image-in               ;bitmap image of pin in "in" state
  89.   image-out              ;bitmap image of pin in "out" state
  90.   default-ring-image     ;bitmap image of pin in "out & highlighted" state
  91.  
  92.   ;; The following (ring-x,ring-y) was intended to specify image relative origin for
  93.   ;; drawing (superimposing) a ring over the image-out bitmap.  If we implement 
  94.   ;; default ring by storing a complete default-ring-image then this pair won't be
  95.   ;; needed.
  96.   ring-x                 
  97.   ring-y                 
  98.  
  99.   left-margin            ;# pixel columns for left padding            
  100.   top-margin             ;# pixel columns for top padding
  101.   bottom-margin)         ;# pixel columns for bottom padding
  102.  
  103.  
  104. (defstruct more-text-arrow
  105.   image               ; Image of arrow.
  106.   name               ; Symbol to use when calling contact-mask to
  107.                ;    create a pixmap from this image.
  108.   offset-from-baseline ; Top edge of arrow goes here relative to the
  109.                ;    baseline of the truncated text.
  110.   offset-from-text)    ; Left edge of arrow usually goes here relative
  111.                         ;    to the end of the truncated text.
  112.  
  113.  
  114.  
  115. ;;;  Dialog spacing specifications ;;;;
  116.  
  117.  
  118. (defconstant *dialog-point-spacing* '(:small 8 :medium 9 :large 10 :extra-large 14))
  119.  
  120.